﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <!-- Documenting T:NAnt.Core.Tasks.SysInfoTask-->
  <head>
    <meta http-equiv="Content-Language" content="en-ca" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="../style.css" />
    <title>&lt;sysinfo&gt; Task</title>
  </head>
  <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
      <tr>
        <td class="NavBar-Cell">
          <a href="http://nant.sourceforge.net">
            <b>NAnt</b>
          </a>
          <img alt="-&gt;" src="../images/arrow.gif" />
          <a href="../index.html">Help</a>
          <img alt="-&gt;" src="../images/arrow.gif" />
          <a href="../tasks/index.html">Task Reference</a>
          <img alt="-&gt;" src="../images/arrow.gif" /> &lt;sysinfo&gt;</td>
        <td class="NavBar-Cell" align="right">
                        v0.91</td>
      </tr>
    </table>
    <h1>&lt;sysinfo&gt;</h1>
    <p> Sets properties with system information. </p>
    <p>Sets a number of properties with information about the system environment. The intent of this task is for nightly build logs to have a record of system information so that the build was performed on.</p>
    <div class="table">
      <table>
        <tr>
          <th>Property</th>
          <th>Value</th>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.clr.version</td>
          <td>Common Language Runtime version number.</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.env.*</td>
          <td>Environment variables (e.g., &lt;<code>prefix</code>&gt;.env.PATH).</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.os.platform</td>
          <td>Operating system platform ID.</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.os.version</td>
          <td>Operating system version.</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.os</td>
          <td>Operating system version string.</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.os.folder.applicationdata</td>
          <td>The directory that serves as a common repository for application-specific data for the current roaming user.</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.os.folder.commonapplicationdata</td>
          <td>The directory that serves as a common repository for application-specific data that is used by all users.</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.os.folder.commonprogramfiles</td>
          <td>The directory for components that are shared across applications.</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.os.folder.desktopdirectory</td>
          <td>The directory used to physically store file objects on the desktop. Do not confuse this directory with the desktop folder itself, which is a virtual folder.</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.os.folder.programfiles</td>
          <td>The Program Files directory.</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.os.folder.system</td>
          <td>The System directory.</td>
        </tr>
        <tr>
          <td>&lt;<code>prefix</code>&gt;.os.folder.temp</td>
          <td>The temporary directory.</td>
        </tr>
      </table>
    </div>
    <p> When the name of an environment variable is not a valid property name, the task will fail. In that case, set <code>failonerror</code> to <b>true</b> to allow that environment variable to be skipped. </p>
    <p class="i2">
      <b>Note:</b>  we advise you to use the following functions instead: </p>
    <div class="table">
      <table>
        <tr>
          <th>Function</th>
          <th>Description</th>
        </tr>
        <tr>
          <td>
            <a href="../functions/environment.get-operating-system().html">environment::get-operating-system()</a>
          </td>
          <td>Gets a <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemOperatingSystemClassTopic.asp">OperatingSystem</a> object that identifies this operating system.</td>
        </tr>
        <tr>
          <td>
            <a href="../functions/environment.get-folder-path(System.Environment.SpecialFolder).html">environment::get-folder-path()</a>
          </td>
          <td>Gets the path to a system special folder.</td>
        </tr>
        <tr>
          <td>
            <a href="../functions/environment.get-variable(System.String).html">environment::get-variable()</a>
          </td>
          <td>Returns the value of a environment variable.</td>
        </tr>
        <tr>
          <td>
            <a href="../functions/path.get-temp-path().html">path::get-temp-path()</a>
          </td>
          <td>Gets the path to the temporary directory.</td>
        </tr>
        <tr>
          <td>
            <a href="../functions/environment.get-version().html">environment::get-version()</a>
          </td>
          <td>Gets the Common Language Runtime version.</td>
        </tr>
      </table>
    </div>
    <h3>Parameters</h3>
    <div class="table">
      <table>
        <tr>
          <th>Attribute</th>
          <th style="text-align: center;">Type</th>
          <th>Description</th>
          <th style="text-align: center;">Required</th>
        </tr>
        <tr>
          <td valign="top">prefix</td>
          <td style="text-align: center;">string</td>
          <td> The string to prefix the property names with. The default is "sys.". </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">failonerror</td>
          <td style="text-align: center;">bool</td>
          <td> Determines if task failure stops the build, or is just reported. The default is <b>true</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">if</td>
          <td style="text-align: center;">bool</td>
          <td> If <b>true</b> then the task will be executed; otherwise, skipped. The default is <b>true</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">unless</td>
          <td style="text-align: center;">bool</td>
          <td> Opposite of <code>if</code>. If <b>false</b> then the task will be executed; otherwise, skipped. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">verbose</td>
          <td style="text-align: center;">bool</td>
          <td> Determines whether the task should report detailed build log messages. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
      </table>
    </div>
    <h3>Examples</h3>
    <ul class="examples">
      <li>
        <p>Register the properties with the default property prefix.</p>
        <pre class="code">
&lt;sysinfo /&gt;
    </pre>
      </li>
      <li>
        <p>Register the properties without a prefix.</p>
        <pre class="code">
&lt;sysinfo prefix="" /&gt;
    </pre>
      </li>
      <li>
        <p>Register properties and display a summary.</p>
        <pre class="code">
&lt;sysinfo verbose="true" /&gt;
    </pre>
      </li>
    </ul>
    <h3>Requirements</h3>
    <div style="margin-left: 20px;">
      <b>Assembly:</b> NAnt.Core (0.91.4312.0)
            </div>
  </body>
</html>